﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Interface;
using Model;
using System.Data.Sql;

namespace controller
{
    public class DanrenSystem
    {

        /***** Attributter ****/

        private DBfacade dbfacaden;
        private MedarbejderColl medarbejderColl;
        


        /****** Sessions Variabler **********/
        private Medarbejder aktuelMedarbejder;
        //private KontaktInfo aktuelKontaktInfo;





        /***** Contructor ********/
        public DanrenSystem()
        {
            dbfacaden = new DBfacade();
            medarbejderColl = new MedarbejderColl();

            
        }


        /****** Metoder ******/

        // LoadDataBase
        //public void DBLoadMedarbejderColl()
        //{
        //    medarbejderColl = dbfacaden.
        //}

        public void CreateMedarbejder(string medarbejderNavn, int cprNr, byte[] billede, bool aktiv, DateTime ansættelsesDato, int ansættelsesTimer, string bemærkninger)
        {
            int medarbejderId;

            try
            {
                medarbejderId = dbfacaden.CreateMedarbejder(medarbejderNavn, cprNr, billede, aktiv, ansættelsesDato, ansættelsesTimer, bemærkninger);
                gemMedarbejder(medarbejderId, medarbejderNavn, cprNr, billede, aktiv, ansættelsesDato, ansættelsesTimer, bemærkninger);
            }
            catch
            {
                // exception sendes videre til GUI, der skal give fejlmeddelelse på skærmen
                throw new Exception("data blev ikke gemt, vi beklager");
            }

        }

        public void gemMedarbejder(int medarbejderId, string medarbejderNavn, int cprNr, byte[] billede, bool aktiv, DateTime ansættelsesDato, int ansættelsesTimer, string bemærkninger)
          {
              aktuelMedarbejder = medarbejderColl.CreateMedarbejder(medarbejderId, medarbejderNavn, cprNr, billede, aktiv, ansættelsesDato, ansættelsesTimer, bemærkninger);
          }


          // ReadMedarbejder
    /*      public void readMedarbejder()
            {


              //Loop som tilføjer medarbejderobjekter til listen, så længe der er rækker.

              SqlDataReader reader = command.ExecuteReader();
              if (reader.HasRows)
              {
                  while (reader.Read())
                  {
                      Medarbejder medarbejder = new Medarbejder(Convert.ToInt32(reader["medarbejderId"]),
                          reader["medarbejderNavn"].ToString(), reader["cprNr"].ToString().Trim(),
                  }
              }
            }
        //

        /*  Slettes efter brug *************  public void HentLeverandører()
             {
                 //Loop der tilføjer leverandørobjekter til listen, så længe der er rækker.
                 SqlDataReader reader = command.ExecuteReader();
                 if (reader.HasRows)
                 {
                     while (reader.Read())
                     {
                         Leverandør leverandør = new Leverandør(Convert.ToInt32(reader["Id"]),
                             reader["LeverandørNavn"].ToString(), reader["Postnr"].ToString().Trim(),
                             reader["Postdistrikt"].ToString(), reader["Adresse"].ToString().Trim(),
                             reader["Email"].ToString(), reader["Email2"].ToString().Trim(),
                             reader["Telefon"].ToString(), reader["Telefon2"].ToString().Trim(),
                             reader["Fax"].ToString(), Convert.ToInt32(reader["LandId"]));
                         leverandører.Add(leverandør);
                     }
                 }*/


        }
        




        // UpdateMedarbejder

        // DeleteMedarbejder
    
    
    
    

    }
